//1.匿名函数自调用
//2匿名函数有一个实参，两个形参
//3匿名函数用于解决数据污染问题
//4,可以赋值给window对象外面使用


//选择器
let arr=1
; 
(function(window,undefined){
    function init(el){
        let els=document.querySelectorAll(el)
    //用for遍历数据，将js绑定到jq对象上
    for(let i=0;i<els.length;i++){
        //i是代表索引，els[i]获取js标签对象
        this[i]=els[i]//this指向实例化对象
    }
    this.length=els.length
    }
  
let jQuery=function(el){
    return new init(el)
}
//静态方法extend 可以给init添加原型方法
jQuery.extend=function(object){
    //object={方法名(),}
    for(let key in object){
        //在这里key是方法名
        init.prototype[key]=object[key]
    }
}
//原型方法
jQuery.prototype={
    css(cssAttr,cssVal){
        for(let i=0;i<this.length;i++){
            //对象的键值是变量的时候，用数组语法
            this[i].style[cssAttr]=cssVal
        }
        return this
    },
    ajax(options){},
    attr(options){},
    addClass(options){},
}
window.jQuery=window.$=jQuery
})(window)
$.extend({
    bg(){

    }
})
console.log($('div'));
// let jqobj= $('div')
// console.log(jqobj);
// jqobj.css('color','red')